<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .father {
      width: 300px;
      height: 300px;
      background-color: lightcoral;
    }
    .son {
      width: 100px;
      height: 100px;
      background-color: lightblue;
    }
  </style>
</head>
<body>
  <div class="father">
    <div class="son"></div>
  </div>

  <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
  </ul>

  <script>
    // 冒泡：有父子元素，当子元素的事件被触发，那么父元素的相同事件类型的事件也会被触发
    // 冒泡默认是有的
    // 取消冒泡: 在子元素添加e.stopPropagation();
    // document.querySelector(".father").addEventListener("click", () => {
    //   console.log("father click");
    // })
    // document.querySelector(".son").addEventListener("click", (e) => {
    //   e.stopPropagation();
    //   console.log("son click");
    // })



    // 捕获：有父子元素，当父元素的事件被触发，那么子元素的相同事件类型的事件也会被触发
    // 捕获默认是没有的
    // 可以给addEventListener添加第三个参数true
    // 捕获可以配合事件委托
    document.querySelector(".father").addEventListener("click", () => {
      console.log("father click");
    }, true)
    document.querySelector(".son").addEventListener("click", (e) => {
      console.log("son click");
    })
  </script>
</body>
</html>